1. Field of the Invention
The present invention is directed toward the field of replicating information from a host system where the information is normally stored to a mobile data communication device. In particular, the system and method of the present invention provide an event-driven redirection computer program (“redirector program”) operating at the host system, which, upon sensing a particular user-defined event has occurred, redirects user-selected data items, such as calendar event messages, from the host system to the user's mobile data communication device. The mobile data communication device is preferably coupled to the host system via a wireless network and one or more landline networks. Due to the bandwidth limitations of wireless networks, only a portion of a user-selected data item is generally redirected to the user's mobile device, with the user given the option of then retrieving the entire data item (or some other portion of the data item) from the host system.
Instead of warehousing (or storing) the user's data items at the host system and then “synchronizing” the mobile data communication device to data items stored at the host system when the mobile device requests that such items of information be communicated to it, the present invention employs a “push” paradigm that continuously packages and retransmits the user-selected items of information to the mobile data communication device in response to a triggering event detected at the host system. Wireless mobile data communications devices, especially those that can return a confirmation signal to the host that the pushed data has been received are especially well suited for this type of push paradigm.
2. Description of the Related Art
Present systems and methods for replicating information from a host system to a user's mobile data communication device are typically “synchronization” systems in which the user's data items are warehoused (or stored) at the host system for an indefinite period of time and then transmitted in bulk only in response to a user request. In these types of systems and methods, when replication of the warehoused data items to the mobile device is desired, the user typically places the mobile device in an interface cradle that is electrically connected to the host system via some form of local, dedicated communication, such as a serial cable or an infrared or other type of wireless link. Software executing on the mobile data communication device then transmits commands via the local communications link to the host system to cause the host to begin transmitting the user's data items for storage in a memory bank of the mobile device. In these synchronization schemes, the mobile unit “pulls” the warehoused information from the host system in a batch each time the user desires to replicate information between the two devices. Therefore, the two systems (host and mobile) only maintain the same data items after a user-initiated command sequence that causes the mobile device to download the data items from the host system.
A general problem with these “synchronization” systems is that the only time that the user data items are replicated between the host system and the mobile data communication device is when the user commands the mobile device to download or pull the user data from the host system. Five minutes later a new message could be sent to the user, but the user would not receive that message until the next time the user fetches the user data items. Thus, a user may fail to respond to an emergency update or message because the user only periodically synchronizes the system, such as once per day.
Other problems with these systems include: (1) the amount of data to be reconciled between the host and the mobile device can become large if the user does not “synchronize” on a daily or hourly basis, leading to bandwidth difficulties, particularly when the mobile device is communicating via a wireless packet-switched network; and (2) reconciling large amounts of data, as can accrue in these batch-mode synchronization systems, can require a great deal of communication between the host and the mobile device, thus leading to a more complex, costly and energy-inefficient system.
A more automated, continuous, efficient and reliable system of ensuring that user data items, such as calendar messages, are replicated at the user's mobile device is therefore needed.
Calendar event messages, such as meeting requests, are typically organized according to a particular calendar data structure. For example, RFC2445 (iCalendar), also referred to as ICAL, provides such a structure and standard method for defining calendar-related data messages. When combined with RFC2446 (iTIP), which defines a transport independent means for exchanging ICAL objects, a mechanism is provided to allow calendar systems on multiple platforms to inter-operate.
ICAL uses verbose text strings and values to represent electronic calendar data The RFC 2445 standard for structuring ICAL messages does not make any attempt to reduce the size of the control information passed in the ICAL message. According to this known calendar message standard, message size is not as important as is readability of the message contents. The problem with using standards, such as ICAL, relates to sending calendar event messages over narrow bandwidth channels, like a wireless packet data network. In such a network, it is critical to reduce the size of the message as much as possible.
Therefore, there is a need for a system and method for sending and receiving and structuring calendar event messages, such as meeting requests, to and from a portable data communication devices over a wireless data network.
Furthermore, there remains a general need in this art for a system and method of continuously pushing user-selected data items (or certain portions of the selected data items), such as calendar event messages, stored at a host system to a user's mobile data communication device.
There remains a more particular need for such a system and method where user-selected data items are continuously “pushed” from the host system to the mobile data communication device upon the occurrence of one or more user-defined triggering events.
There remains an additional need for such a system and method that provides flexibility in the types and quantities of user data items that are pushed from the host system to the mobile data communication device and that also provides flexibility in the configuration and types of events that can serve to trigger the redirection of the user data items.
There remains yet an additional need for such a system and method that can operate locally on a user's desktop PC or at a distance via a network server.
There remains still another need for such a system and method that provides for secure, transparent delivery of the user-selected data items from the host system to the mobile device.